Skip Headers

Oracle® Database Backup and Recovery Advanced User's Guide 10g Release 2 (10.2) Part Number B14191-02 |
Home | Book List | Contents | Index | Master Index | Feedback

Previous | Next
| View PDF

# Creating a Recovery Catalog

Creating a recovery catalog is a three-step process: you must configure the database that will contain the recovery catalog, create the recovery catalog owner, and then create the recovery catalog itself.

## Configuring the Recovery Catalog Database

When you use a recovery catalog, RMAN requires that you maintain a recovery catalog schema. The recovery catalog is stored in the default tablespace of the schema. Note that `SYS` cannot be the owner of the recovery catalog.

Decide which database you will use to install the recovery catalog schema, and also how you will back up this database.

Note: Do not use the target database to be backed up as the database for the recovery catalog. The recovery catalog must be protected in the event of the loss of the target database.

Also, decide whether to operate the catalog database in `ARCHIVELOG` mode, which is recommended.

### Planning the Size of the Recovery Catalog Schema

You must allocate space to be used by the catalog schema. The size of the recovery catalog schema depends upon the number of databases monitored by the catalog. The schema also grows as the number of archived redo log files and backups for each database increases. Finally, if you use RMAN stored scripts stored in the catalog, some space must be allocated for those scripts.

For an example, assume that the `trgt` database has 100 files, and you back up the database once a day, producing 50 backup sets containing 1 backup piece each. If you assume that each row in the backup piece table uses the maximum amount of space, then one daily backup will consume less than 170 KB in the recovery catalog. So, if you back up once a day for a year, then the total storage in this period is about 62 MB. Assume approximately the same amount for archived logs. Hence, the worst case is about 120 MB for a year for metadata storage.

For a more typical case in which only a portion of the backup piece row space is used, 15 MB for each year is a realistic estimate.

If you plan to register multiple databases in your recovery catalog, remember to add up the space required for each one based on the previous calculation to arrive at a total size for the default tablespace of the recovery catalog schema.

### Allocating Disk Space for the Recovery Catalog Database

If you are creating your recovery catalog in an already-existing database, add enough room to hold the default tablespace to the recovery catalog schema. If you are creating a new database to hold your recovery catalog, then, in addition to the space for the recovery catalog schema itself, you must allow space for other files in the recovery catalog database:

- `SYSTEM` tablespace

- Temporary tablespaces

- Rollback segment tablespaces

- Online redo log files

Most of the space used in the recovery catalog database is devoted to supporting tablespaces, for example, the `SYSTEM`, temporary, and rollback or undo tablespaces. Table 10-1, "Typical Recovery Catalog Space Requirements for 1 Year" describes typical space requirements.

Table 10-1 Typical Recovery Catalog Space Requirements for 1 Year

Type of Space | Space Requirement
--- | ---
`SYSTEM` tablespace | 90 MB
Temp tablespace | 5 MB
Rollback or undo tablespace | 5 MB
Recovery catalog tablespace | 15 MB for each database registered in the recovery catalog
Online redo logs | 1 MB each (3 groups, each with 2 members)

Caution: Ensure that the recovery catalog and target databases do not reside on the same disk. If both your recovery catalog and your target database suffer hard disk failure, your recovery process is much more difficult. If possible, take other measures as well to eliminate common points of failure between your recovery catalog database and the databases you are backing up.

## Creating the Recovery Catalog Owner

After choosing the recovery catalog database and creating necessary space, you are ready to create the owner of the recovery catalog and grant this user necessary privileges.

Assume the following background information for the instructions in the following sections:

- User `SYS` with password `oracle` has `SYSDBA` privileges on the recovery catalog database `catdb`.

- A tablespace called `tools` in the recovery catalog database `catdb` stores the recovery catalog. Note that to use an RMAN reserved word as a tablespace name, you must enclose it in quotes and put it in uppercase. (Refer to Oracle Database Backup and Recovery Reference for a list of RMAN reserved words.)

- A tablespace called `temp` exists in the recovery catalog database.

- The database is configured in the same way as all normal databases, for example, `catalog.sql` and `catproc.sql` have successfully run.

To create the recovery catalog schema in the recovery catalog database:

1. Start SQL*Plus and then connect with administrator privileges to the database containing the recovery catalog. For example, enter:

       CONNECT SYS/oracle@catdb AS SYSDBA

2. Create a user and schema for the recovery catalog. For example, enter:

       CREATE USER rman IDENTIFIED BY cat
         TEMPORARY TABLESPACE temp
         DEFAULT TABLESPACE tools
         QUOTA UNLIMITED ON tools;

3. Grant the `RECOVERY_CATALOG_OWNER` role to the schema owner. This role provides the user with all privileges required to maintain and query the recovery catalog.

       SQL> GRANT RECOVERY_CATALOG_OWNER TO rman;

## Creating the Recovery Catalog

After creating the catalog owner, create the catalog tables with the RMAN `CREATE` `CATALOG` command. The command creates the catalog in the default tablespace of the catalog owner.

To create the recovery catalog:

1. Connect to the database that will contain the catalog as the catalog owner. For example:

       % rman
       RMAN> CONNECT CATALOG rman/cat@catdb

2. Run the `CREATE` `CATALOG` command to create the catalog. The creation of the catalog can take several minutes. If the catalog tablespace is this user's default tablespace, then you can run this command:

       CREATE CATALOG;

   You can specify the tablespace name for the catalog in the `CREATE` `CATALOG` command. For example:

       CREATE CATALOG TABLESPACE cat_ts;

   Note: If the tablespace name you wish to use for the recovery catalog is an RMAN reserved word, then it must be uppercase and enclosed in quotes. For example:
       CREATE CATALOG TABLESPACE 'CATALOG';

You can check the results by using SQL*Plus to query the recovery catalog to see which tables were created:

    SQL> SELECT TABLE_NAME FROM USER_TABLES;

See Also: Oracle Database SQL Reference for the SQL syntax for the `GRANT` and `CREATE` `USER` statements, and Oracle Database Backup and Recovery Reference for `CREATE` `CATALOG` command syntax